package com.zhihuishu.micro.course.openapi.cc.dto;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @author zhanglikun
 * @date 2015年9月30日 下午4:46:49
 */
public class CourseOpenDto implements Serializable {

    private static final long serialVersionUID = 1L;

    // ========================== tbl_course ==========================
    private Long courseId;

    private String name; // 课程名称

    private String introduction; // 课程简介

    private String img; // 课程封面图

    private String chapterUnit; // 课程章节单位(默认为：章)

    private Integer type; // 课程类型：进阶式课程(1)、微课程(2)

    private Integer courseMode; // 课程运行模式：混合式(1)、在线式(2)

    private Integer courseOpener; // 课程所有者(身份)：个人课程(1)[默认]、学校课程(2)、企业课程(3)

    private Integer courseType; // 如果COURSE_OPENER=2（学校课程），则1共享课程、2校内课程、3校内+共享。如果COURSE_OPENER=3（企业课程），则1企业内部课程，2企业服务课程

    private Integer period; // 课时(学时-->在线学时)

    private Double credit; // 学分

    private Integer creditPrice; // 学分单价

    private Integer meetCourseState;// 见面课状态(是否有见面课)：否(0)、是(1)

    private Integer schoolId; // 课程所属学校ID

    private String schoolName; // 课程所属学校名称

    private Long creator; // 课程创建者

    private Date createTime; // 课程创建时间

    private Date updateTime; // 课程更新时间

    private Integer state; // 建课状态：建课中(NULL)、待审核(0)、审核通过(1)、审核驳回(2)

    private Long createPerson; // 课程创建者

    private Integer courseCategory;// 课程类别(区别于课程分类)，课程类别：(1.公共必修课；2.通识必修课；3.专业基础课；4.专业必修课)

    private Long linkCourseId; // CC_COURSE表主键

    private Long userId; // 课程负责人用户ID(通常指建课者)

    private String userName; // 课程负责人用户名

    private Integer turnType; // 私有云类型：0非校内，1校内翻转课程

    // ========================== cc_course ===================================
    private Integer isJumpChapter; // 是否可以跨章学习：否(0)、是(1)

    private Integer releaseStatus; // 发布状态：建课中(0)、已发布(1)、未发布(2)

    private Integer limitDay; // 教学计划天数

    private Integer studyHour; // 最低学时

    private String tags; // 课程标签

    private Integer videoId; // 片花视频ID

    private String movieClips; // 片花视频路径

    private String movieClipsImg; // 片花视频截图

    private Integer createStep;// 创建进度

    // ========================== course_extend_prop ==========================
    private String courseBackground; // 课程背景

    private String courseTarget; // 课程目标

    private Integer coursePopularizeType; // 推广方式 ：希望联盟推广(1)、希望个人推广(2)、仅校内使用(3)、其他(4)

    private String coursePopularizeContent; // 推广广告内容

    private String institute; // 课程所属院系

    private String courseTeacher; // 课程负责人(名称)

    private String courseTeacherLevel; // 课程负责人职务

    private String courseTeacherMobile; // 课程负责人手机

    private String courseTeacherEmail; // 课程负责人邮箱

    private String courseAssistants; // 课程助教(联系人)

    private String courseAssistantsContact; // 课程助教联系方式(手机或邮箱)

    private Integer meetCoursePeriod; // 见面课学时

    private Integer onlineCoursePeriod; // 在线学时

    private Integer courseRunningTerm; // 课程运行周期(学期)

    private Integer courseRecruitObjs; // 课程招生对象：全部本、专科生(1)、各大类均适合(2)

    private String courseAcademicPrepare; // 学术准备内容

    private Integer courseVideoType; // 课程视频类型：直接使用(1)、改造视频(2)、智慧树拍摄(3)、自行拍摄(4)

    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getChapterUnit() {
        return chapterUnit;
    }

    public void setChapterUnit(String chapterUnit) {
        this.chapterUnit = chapterUnit;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getCourseMode() {
        return courseMode;
    }

    public void setCourseMode(Integer courseMode) {
        this.courseMode = courseMode;
    }

    public Integer getMeetCourseState() {
        return meetCourseState;
    }

    public void setMeetCourseState(Integer meetCourseState) {
        this.meetCourseState = meetCourseState;
    }

    public Integer getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Integer schoolId) {
        this.schoolId = schoolId;
    }

    public Long getCreator() {
        return creator;
    }

    public void setCreator(Long creator) {
        this.creator = creator;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Long getLinkCourseId() {
        return linkCourseId;
    }

    public void setLinkCourseId(Long linkCourseId) {
        this.linkCourseId = linkCourseId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public Integer getIsJumpChapter() {
        return isJumpChapter;
    }

    public void setIsJumpChapter(Integer isJumpChapter) {
        this.isJumpChapter = isJumpChapter;
    }

    public Integer getReleaseStatus() {
        return releaseStatus;
    }

    public void setReleaseStatus(Integer releaseStatus) {
        this.releaseStatus = releaseStatus;
    }

    public Integer getLimitDay() {
        return limitDay;
    }

    public void setLimitDay(Integer limitDay) {
        this.limitDay = limitDay;
    }

    public Integer getStudyHour() {
        return studyHour;
    }

    public void setStudyHour(Integer studyHour) {
        this.studyHour = studyHour;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getCourseBackground() {
        return courseBackground;
    }

    public void setCourseBackground(String courseBackground) {
        this.courseBackground = courseBackground;
    }

    public String getCourseTarget() {
        return courseTarget;
    }

    public void setCourseTarget(String courseTarget) {
        this.courseTarget = courseTarget;
    }

    public Integer getCoursePopularizeType() {
        return coursePopularizeType;
    }

    public void setCoursePopularizeType(Integer coursePopularizeType) {
        this.coursePopularizeType = coursePopularizeType;
    }

    public String getCoursePopularizeContent() {
        return coursePopularizeContent;
    }

    public void setCoursePopularizeContent(String coursePopularizeContent) {
        this.coursePopularizeContent = coursePopularizeContent;
    }

    public String getInstitute() {
        return institute;
    }

    public void setInstitute(String institute) {
        this.institute = institute;
    }

    public String getCourseTeacher() {
        return courseTeacher;
    }

    public void setCourseTeacher(String courseTeacher) {
        this.courseTeacher = courseTeacher;
    }

    public String getCourseTeacherLevel() {
        return courseTeacherLevel;
    }

    public void setCourseTeacherLevel(String courseTeacherLevel) {
        this.courseTeacherLevel = courseTeacherLevel;
    }

    public String getCourseTeacherMobile() {
        return courseTeacherMobile;
    }

    public void setCourseTeacherMobile(String courseTeacherMobile) {
        this.courseTeacherMobile = courseTeacherMobile;
    }

    public String getCourseTeacherEmail() {
        return courseTeacherEmail;
    }

    public void setCourseTeacherEmail(String courseTeacherEmail) {
        this.courseTeacherEmail = courseTeacherEmail;
    }

    public String getCourseAssistants() {
        return courseAssistants;
    }

    public void setCourseAssistants(String courseAssistants) {
        this.courseAssistants = courseAssistants;
    }

    public String getCourseAssistantsContact() {
        return courseAssistantsContact;
    }

    public void setCourseAssistantsContact(String courseAssistantsContact) {
        this.courseAssistantsContact = courseAssistantsContact;
    }

    public Integer getMeetCoursePeriod() {
        return meetCoursePeriod;
    }

    public void setMeetCoursePeriod(Integer meetCoursePeriod) {
        this.meetCoursePeriod = meetCoursePeriod;
    }

    public Integer getOnlineCoursePeriod() {
        return onlineCoursePeriod;
    }

    public void setOnlineCoursePeriod(Integer onlineCoursePeriod) {
        this.onlineCoursePeriod = onlineCoursePeriod;
    }

    public Integer getCourseRunningTerm() {
        return courseRunningTerm;
    }

    public void setCourseRunningTerm(Integer courseRunningTerm) {
        this.courseRunningTerm = courseRunningTerm;
    }

    public Integer getCourseRecruitObjs() {
        return courseRecruitObjs;
    }

    public void setCourseRecruitObjs(Integer courseRecruitObjs) {
        this.courseRecruitObjs = courseRecruitObjs;
    }

    public String getCourseAcademicPrepare() {
        return courseAcademicPrepare;
    }

    public void setCourseAcademicPrepare(String courseAcademicPrepare) {
        this.courseAcademicPrepare = courseAcademicPrepare;
    }

    public Integer getCourseVideoType() {
        return courseVideoType;
    }

    public void setCourseVideoType(Integer courseVideoType) {
        this.courseVideoType = courseVideoType;
    }

    public Integer getCourseOpener() {
        return courseOpener;
    }

    public void setCourseOpener(Integer courseOpener) {
        this.courseOpener = courseOpener;
    }

    public Integer getCourseType() {
        return courseType;
    }

    public void setCourseType(Integer courseType) {
        this.courseType = courseType;
    }

    public Integer getPeriod() {
        return period;
    }

    public void setPeriod(Integer period) {
        this.period = period;
    }

    public Double getCredit() {
        return credit;
    }

    public void setCredit(Double credit) {
        this.credit = credit;
    }

    public Integer getCreditPrice() {
        return creditPrice;
    }

    public void setCreditPrice(Integer creditPrice) {
        this.creditPrice = creditPrice;
    }

    public Long getCreatePerson() {
        return createPerson;
    }

    public void setCreatePerson(Long createPerson) {
        this.createPerson = createPerson;
    }

    public Integer getCourseCategory() {
        return courseCategory;
    }

    public void setCourseCategory(Integer courseCategory) {
        this.courseCategory = courseCategory;
    }

    public Integer getVideoId() {
        return videoId;
    }

    public void setVideoId(Integer videoId) {
        this.videoId = videoId;
    }

    public String getMovieClips() {
        return movieClips;
    }

    public void setMovieClips(String movieClips) {
        this.movieClips = movieClips;
    }

    public String getMovieClipsImg() {
        return movieClipsImg;
    }

    public void setMovieClipsImg(String movieClipsImg) {
        this.movieClipsImg = movieClipsImg;
    }

    public Integer getCreateStep() {
        return createStep;
    }

    public void setCreateStep(Integer createStep) {
        this.createStep = createStep;
    }

    public Integer getTurnType() {
        return turnType;
    }

    public void setTurnType(Integer turnType) {
        this.turnType = turnType;
    }

    @Override
    public String toString() {
        return "CourseOpenDto [courseId=" + courseId + ", name=" + name + ", introduction=" + introduction
                + ", img=" + img + ", chapterUnit=" + chapterUnit + ", type=" + type + ", courseMode="
                + courseMode + ", courseOpener=" + courseOpener + ", courseType=" + courseType + ", period="
                + period + ", credit=" + credit + ", creditPrice=" + creditPrice + ", meetCourseState="
                + meetCourseState + ", schoolId=" + schoolId + ", schoolName=" + schoolName + ", creator="
                + creator + ", createTime=" + createTime + ", updateTime=" + updateTime + ", state=" + state
                + ", createPerson=" + createPerson + ", courseCategory=" + courseCategory + ", linkCourseId="
                + linkCourseId + ", userId=" + userId + ", userName=" + userName + ", turnType=" + turnType
                + ", isJumpChapter=" + isJumpChapter + ", releaseStatus=" + releaseStatus + ", limitDay="
                + limitDay + ", studyHour=" + studyHour + ", tags=" + tags + ", videoId=" + videoId
                + ", movieClips=" + movieClips + ", movieClipsImg=" + movieClipsImg + ", createStep="
                + createStep + ", courseBackground=" + courseBackground + ", courseTarget=" + courseTarget
                + ", coursePopularizeType=" + coursePopularizeType + ", coursePopularizeContent="
                + coursePopularizeContent + ", institute=" + institute + ", courseTeacher=" + courseTeacher
                + ", courseTeacherLevel=" + courseTeacherLevel + ", courseTeacherMobile="
                + courseTeacherMobile + ", courseTeacherEmail=" + courseTeacherEmail + ", courseAssistants="
                + courseAssistants + ", courseAssistantsContact=" + courseAssistantsContact
                + ", meetCoursePeriod=" + meetCoursePeriod + ", onlineCoursePeriod=" + onlineCoursePeriod
                + ", courseRunningTerm=" + courseRunningTerm + ", courseRecruitObjs=" + courseRecruitObjs
                + ", courseAcademicPrepare=" + courseAcademicPrepare + ", courseVideoType=" + courseVideoType
                + "]";
    }
    

}
